# -*- coding: utf-8 -*-

from exceptions import Exception

class ArgumentValueError(Exception):
    """
    Function argument has invalid value.
    """
    def __init__ (self, argument_name, argument_value):
        self.argument_name = name
        self.argument_value = value

    def __str__ (self):
        return "Value '%s' invalid for argument '%s'" % (self.argument_value, self.argument_name)

class ArgumentNoneError(Exception):
    """
    'None' passed for argument that cannot be 'None'.
    """
    def __init__ (self, argument_name):
        self.argument_name = argument_name

    def __str__ (self):
        return "Argument '%s' cannot be 'None'" % (self.argument_name,)

class ArgumentNoneOrEmptyError(Exception):
    """
    'None' or empty string passed for argument that cannot be either.
    """
    def __init__ (self, argument_name):
        self.argument_name = argument_name

    def __str__ (self):
        return "Argument '%s' cannot be 'None' or empty string" % (self.argument_name,)
